<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function index(){

    	$encodingAesKey = "RjMmvgSZejutgs3iYb1GS4qr43qALNdYyTHBvBDWgOj";
		$token = "pnRDSCT4ox8zRefdPDtCWP";
		$corpId = "wx767a789b232a5ad6";

		//1.解析出Get请求的参数，包括消息体签名(msg_signature)，时间戳(timestamp)，随机数字串(nonce)以及公众平台推送过来的随机加密字符串(echostr),这一步注意作URL解码。
		//2.验证消息体签名的正确性 
		//3. 解密出echostr原文，将原文当作Get请求的response，返回给公众平台
		//第2，3步可以用公众平台提供的库函数VerifyURL来实现。
		
		$sVerifyMsgSig = urldecode($_GET['msg_signature']);
		$sVerifyTimeStamp = urldecode($_GET['timestamp']);
		$sVerifyNonce = urldecode($_GET['nonce']);
		$sVerifyEchoStr = urldecode($_GET['echostr']);

		// 需要返回的明文
		$sEchoStr = ""; 
    	Vendor('Weixin.WXBizMsgCrypt');
		$wxcpt = new \WXBizMsgCrypt($token, $encodingAesKey, $corpId);
		$errCode = $wxcpt->VerifyURL($sVerifyMsgSig, $sVerifyTimeStamp, $sVerifyNonce, $sVerifyEchoStr, $sEchoStr);
		if ($errCode == 0) {
			//
			// 验证URL成功，将sEchoStr返回
			echo $sEchoStr;
		} else {
			print("ERR: " . $errCode . "\n\n");
		}
    }

}